{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "<img align=\"center\" src=\"./images/occiput_logo3.png\" width=\"400\">"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Load listmode PET data with CYCLIC sinogram binning\n",
    "### This if useful for PET imaging with cyclic movement - e.g. cardiac, respiratory or both. "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {
    "collapsed": false
   },
   "outputs": [],
   "source": [
    "import occiput\n",
    "from occiput.Reconstruction.PET.PET_scanners import Biograph_mMR"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {
    "collapsed": false
   },
   "outputs": [],
   "source": [
    "pet = occiput.Reconstruction.PET.PET_Cyclic_Scan()\n",
    "pet.set_scanner(Biograph_mMR)\n",
    "pet.use_compression(False)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Create N sinograms, each containing counts from K time frames\n",
    "#### All it takes is to define a matrix of size (NxKx2) that contains the start and end times in [ms] of each frame. "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[[[     0.   1000.]\n",
      "  [ 10000.  11000.]\n",
      "  [ 20000.  21000.]\n",
      "  [ 30000.  31000.]]\n",
      "\n",
      " [[  1000.   2000.]\n",
      "  [ 11000.  12000.]\n",
      "  [ 21000.  22000.]\n",
      "  [ 31000.  32000.]]\n",
      "\n",
      " [[  2000.   3000.]\n",
      "  [ 12000.  13000.]\n",
      "  [ 22000.  23000.]\n",
      "  [ 32000.  33000.]]]\n"
     ]
    }
   ],
   "source": [
    "time_matrix = zeros((3,4,2))\n",
    "time_matrix[0,0,0] = 0\n",
    "time_matrix[0,0,1] = 1000\n",
    "time_matrix[0,1,0] = 10000\n",
    "time_matrix[0,1,1] = 11000\n",
    "time_matrix[0,2,0] = 20000\n",
    "time_matrix[0,2,1] = 21000\n",
    "time_matrix[0,3,0] = 30000\n",
    "time_matrix[0,3,1] = 31000\n",
    "\n",
    "time_matrix[1,0,0] = 1000\n",
    "time_matrix[1,0,1] = 2000\n",
    "time_matrix[1,1,0] = 11000\n",
    "time_matrix[1,1,1] = 12000\n",
    "time_matrix[1,2,0] = 21000\n",
    "time_matrix[1,2,1] = 22000\n",
    "time_matrix[1,3,0] = 31000\n",
    "time_matrix[1,3,1] = 32000\n",
    "\n",
    "time_matrix[2,0,0] = 2000\n",
    "time_matrix[2,0,1] = 3000\n",
    "time_matrix[2,1,0] = 12000\n",
    "time_matrix[2,1,1] = 13000\n",
    "time_matrix[2,2,0] = 22000\n",
    "time_matrix[2,2,1] = 23000\n",
    "time_matrix[2,3,0] = 32000\n",
    "time_matrix[2,3,1] = 33000\n",
    "\n",
    "print time_matrix"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### Load the listmode data and create the sinograms: "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {
    "collapsed": false
   },
   "outputs": [],
   "source": [
    "filename = '../data/PET_data/scans/2014_12_03_cylinder/listmode/PET_ACQ_342_20141212155111-0.l.hdr'\n",
    "pet.import_listmode(filename, time_matrix)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<table border=\"1\" cellpadding=\"3\" cellspacing=\"0\"  style=\"border:1px solid black;border-collapse:collapse;\"><tr><td  style=\"background-color:LightGray;\"><b>Time_start</b></td><td  style=\"background-color:AliceBlue;\">00&nbsp[min]&nbsp&nbsp00&nbsp[sec]&nbsp&nbsp000&nbsp[msec]</td></tr><tr><td  style=\"background-color:LightGray;\"><b>Time_end</b></td><td  style=\"background-color:Ivory;\">00&nbsp[min]&nbsp&nbsp00&nbsp[sec]&nbsp&nbsp000&nbsp[msec]</td></tr><tr><td  style=\"background-color:LightGray;\"><b>Duration</b></td><td  style=\"background-color:AliceBlue;\">00&nbsp[min]&nbsp&nbsp00&nbsp[sec]&nbsp&nbsp000&nbsp[msec]</td></tr><tr><td  style=\"background-color:LightGray;\"><b>N_counts</b></td><td  style=\"background-color:Ivory;\">975811.0&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp(975.8&nbspThousand)</td></tr><tr><td  style=\"background-color:LightGray;\"><b>N_locations</b></td><td  style=\"background-color:AliceBlue;\"><bound&nbspmethod&nbspPET_Projection_Sparsity.get_N_locations&nbspof&nbsp<occiput.Reconstruction.PET.PET_projection.PET_Projection_Sparsity&nbspinstance&nbspat&nbsp0x2b40faa9ad88>></td></tr><tr><td  style=\"background-color:LightGray;\"><b>Scanner&nbspName</b></td><td  style=\"background-color:Ivory;\">Biograph_mMR</td></tr><tr><td  style=\"background-color:LightGray;\"><b>Scanner&nbspManufacturer</b></td><td  style=\"background-color:AliceBlue;\">Siemens</td></tr><tr><td  style=\"background-color:LightGray;\"><b>Scanner&nbspVersion</b></td><td  style=\"background-color:Ivory;\">2008</td></tr></table>"
      ],
      "text/plain": [
       "Static PET acquisition:  \n",
       " - Time_start:                   00 [min]  00 [sec]  000 [msec] \n",
       " - Time_end:                     00 [min]  00 [sec]  000 [msec] \n",
       " - Duration:                     00 [min]  00 [sec]  000 [msec] \n",
       " - N_counts:                     975811 \n",
       " - N_locations:                  121103136 \n",
       " = Scanner: \n",
       "     - Name:                     Biograph_mMR \n",
       "     - Manufacturer:             Siemens \n",
       "     - Version:                  2008 \n",
       " * Binning: \n",
       "     - N_axial bins:             252 \n",
       "     - N_azimuthal bins:         11 \n",
       "     - Angles axial:             0.000 0.012 0.025 0.037 0.050 0.062 0.075 0.087 0.100 0.112 0.125 0.137 0.150 0.162 0.175 0.187 0.199 0.212 0.224 0.237 0.249 0.262 0.274 0.287 0.299 0.312 0.324 0.337 0.349 0.362 0.374 0.386 0.399 0.411 0.424 0.436 0.449 0.461 0.474 0.486 0.499 0.511 0.524 0.536 0.549 0.561 0.573 0.586 0.598 0.611 0.623 0.636 0.648 0.661 0.673 0.686 0.698 0.711 0.723 0.736 0.748 0.760 0.773 0.785 0.798 0.810 0.823 0.835 0.848 0.860 0.873 0.885 0.898 0.910 0.923 0.935 0.947 0.960 0.972 0.985 0.997 1.010 1.022 1.035 1.047 1.060 1.072 1.085 1.097 1.110 1.122 1.134 1.147 1.159 1.172 1.184 1.197 1.209 1.222 1.234 1.247 1.259 1.272 1.284 1.297 1.309 1.321 1.334 1.346 1.359 1.371 1.384 1.396 1.409 1.421 1.434 1.446 1.459 1.471 1.484 1.496 1.508 1.521 1.533 1.546 1.558 1.571 1.583 1.596 1.608 1.621 1.633 1.646 1.658 1.671 1.683 1.695 1.708 1.720 1.733 1.745 1.758 1.770 1.783 1.795 1.808 1.820 1.833 1.845 1.858 1.870 1.882 1.895 1.907 1.920 1.932 1.945 1.957 1.970 1.982 1.995 2.007 2.020 2.032 2.045 2.057 2.069 2.082 2.094 2.107 2.119 2.132 2.144 2.157 2.169 2.182 2.194 2.207 2.219 2.232 2.244 2.256 2.269 2.281 2.294 2.306 2.319 2.331 2.344 2.356 2.369 2.381 2.394 2.406 2.419 2.431 2.443 2.456 2.468 2.481 2.493 2.506 2.518 2.531 2.543 2.556 2.568 2.581 2.593 2.606 2.618 2.630 2.643 2.655 2.668 2.680 2.693 2.705 2.718 2.730 2.743 2.755 2.768 2.780 2.793 2.805 2.817 2.830 2.842 2.855 2.867 2.880 2.892 2.905 2.917 2.930 2.942 2.955 2.967 2.980 2.992 3.004 3.017 3.029 3.042 3.054 3.067 3.079 3.092 3.104 3.117 3.129  \n",
       "     - Angles azimuthal:         -0.482 -0.373 -0.259 -0.180 -0.105 0.000 0.105 0.180 0.259 0.373 0.482  \n",
       "     - Size_u:                   717.673440 \n",
       "     - Size_v:                   257.968750 \n",
       "     - N_u:                      344 \n",
       "     - N_v:                      127 "
      ]
     },
     "execution_count": 6,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "pet.frame0"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### Now the object pet contains variables named frameX; each is an instance of PET_Static_Scan. \n",
    "#### Objects of type PET_Static_Scan have .promots, .randoms variables and methods to reconstruct. "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "975811.0\n",
      "193805.0\n",
      "977308.0\n",
      "194648.0\n",
      "976703.0\n",
      "194740.0\n",
      "8.05176e+06\n",
      "1.60544e+06\n"
     ]
    }
   ],
   "source": [
    "prompts0 = pet.frame0.prompts.to_nd_array()\n",
    "randoms0 = pet.frame0.randoms.to_nd_array()\n",
    "\n",
    "prompts1 = pet.frame1.prompts.to_nd_array()\n",
    "randoms1 = pet.frame1.randoms.to_nd_array()\n",
    "\n",
    "prompts2 = pet.frame2.prompts.to_nd_array()\n",
    "randoms2 = pet.frame2.randoms.to_nd_array()\n",
    "\n",
    "prompts_global = pet.static.prompts.to_nd_array()\n",
    "randoms_global = pet.static.randoms.to_nd_array()\n",
    "\n",
    "print prompts0.sum()\n",
    "print randoms0.sum()\n",
    "\n",
    "print prompts1.sum()\n",
    "print randoms1.sum()\n",
    "\n",
    "print prompts2.sum()\n",
    "print randoms2.sum()\n",
    "\n",
    "print prompts_global.sum()\n",
    "print randoms_global.sum()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "collapsed": false
   },
   "source": [
    "Under the hood, the sinograms (prompts and randoms) are stored in C structures that reside in the global scope of the \n",
    "library listmode_c.so. The Python wrapper exposes methods to obtain additional information about these C structures, \n",
    "such as compression ratio. This information can be useful for debugging. Let's print the information for the first sinogram (index 0): "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "{'angles_axial': 0.0, 'time_start': 0L, 'N_u': 344L, 'N_v': 127L, 'N_counts': 975811L, 'compression_ratio': 0.007887070998549461, 'N_locations': 955149L, 'time_bin': 0L, 'listmode_loss': 1.021632194519043, 'angles_azimuthal': 0.0, 'N_azimuthal': 11L, 'size_u': 717.6734619140625, 'size_v': 257.96875, 'N_axial': 252L, 'time_end': 0L}\n",
      "{'angles_axial': 0.0, 'time_start': 0L, 'N_u': 344L, 'N_v': 127L, 'N_counts': 193805L, 'compression_ratio': 0.0015973987756296992, 'N_locations': 193450L, 'time_bin': 0L, 'listmode_loss': 1.0018351078033447, 'angles_azimuthal': 0.0, 'N_azimuthal': 11L, 'size_u': 717.6734619140625, 'size_v': 257.96875, 'N_axial': 252L, 'time_end': 0L}\n"
     ]
    }
   ],
   "source": [
    "print pet.scanner.listmode.get_measurement_prompt_info(0)\n",
    "print pet.scanner.listmode.get_measurement_delay_info(0)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.image.AxesImage at 0x2b430cb1ddd0>"
      ]
     },
     "execution_count": 9,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\nH430ujtDrY3LAAAAAElFTkSuQmCC\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x2b40faa724d0>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "imshow(pet.frame0.prompts.to_nd_array()[0,5,:,:].T)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### Note that the pet object can be indexed and iterated. We can use pet[0] instead of  pet.frame0 "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "collapsed": false
   },
   "outputs": [],
   "source": [
    "imshow(pet[0].prompts.to_nd_array()[0,5,:,:].T)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 2",
   "language": "python",
   "name": "python2"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 2
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython2",
   "version": "2.7.11"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
